// services/llm/prompts.js
module.exports = {
  /**
* 生成测试数据的提示词
*/
  Code2TestData: (code) => `你是一个API测试专家。根据以下后端代码生成1组符合业务语义的JSON请求数据。

      要求：
      1. 只生成请求体JSON，需要严格符合JSON格式，不要生成其它东西
      2. 字段值必须符合中国业务规范：
        - 身份证：有效的18位格式(如110105199003072234)
        - 手机号：有效的大陆号码(如13800138000)
        - 日期：YYYY-MM-DD格式的有效日期
        - 金额：保留2位小数，符合业务范围

      代码:
      \`\`\`
      ${code}
      \`\`\`

      输出格式示例：{
          "Name": "Kevin",
          "Age": "21"
        }`,


  /**
 * 由代码生成客户端代码的提示词
 */
  Code2ClientCode: (backendCode, techStack) => `你是一个全栈开发专家。请根据以下后端API代码生成对应的${techStack}客户端调用代码。

    要求：
    1. 完全匹配后端API的路径、方法和参数
    2. 包含必要的请求头和认证信息
    3. 添加清晰的注释说明
    4. 处理错误情况
    5. 使用符合${techStack}最佳实践的写法

    后端代码:
    \`\`\`
    ${backendCode}
    \`\`\`

    请只返回代码块，不要包含解释文本。`,


  /**
  * 由代码生成API文档的提示词
  */
  Code2Docs: (backendCode, format) => `你是一个技术文档工程师。根据以下后端代码生成专业的API文档。

   要求：
   1. 格式：${format}
   2. 包含以下部分：
      - API概述
      - 业务场景描述
      - 请求方法/路径
      - 参数说明(路径/查询/请求体)
      - 请求示例(JSON)
      - 响应示例
      - 错误代码
      - 使用场景示例
   3. 使用中文编写
   4. 为复杂业务添加流程图(使用mermaid语法)
   
   后端代码:
   \`\`\`
   ${backendCode}
   \`\`\`
   
   请直接返回${format}格式的内容，不要包含解释文本。`,

  /**
 * 由HTTP请求生成代码的提示词
 */
  HttpRequest2ClientCode: (requestDesc, techStack) => `你是一个全栈开发专家。根据以下HTTP请求描述生成${techStack}代码。

    要求：
    1. 完全匹配给定HTTP请求中的所有参数
    2. 使用${techStack}的最佳实践
    3. 添加必要的注释
    

    请求描述:
    ${JSON.stringify(requestDesc, null, 2)}
    
    请只返回代码块，不要包含解释文本。`,

  /**
* 由HTTP请求生成文档的提示词
*/
  HttpRequest2Docs: (requestDesc, format) => `你是一个专业的API文档工程师。根据以下HTTP请求描述生成${format}格式的API文档。

  要求：
  1. 包含以下部分：
     - API概述和业务场景
     - 请求方法/URL
     - 请求头说明
     - 查询参数说明
     - 请求体示例(如适用)
     - 响应示例
     - 使用场景和注意事项
  2. 为每个部分添加清晰的示例代码
  3. 使用中文编写
  4. 格式要求: ${format}
  
  请求描述:
  ${JSON.stringify(requestDesc, null, 2)}
  
  请直接返回${format}格式的内容，不要包含解释文本。`

};
